#!/bin/bash

# DuckDB-CJ 构建脚本
# 用于构建整个工作空间的所有模块

set -e

echo "🚀 开始构建 DuckDB-CJ 项目..."

# 检查仓颉环境
if ! command -v cjpm &> /dev/null; then
    echo "❌ 错误: 未找到 cjpm 命令，请确保已安装仓颉 SDK"
    exit 1
fi

echo "📋 检查 DuckDB 库文件..."
if [ ! -f "libs/duckdb/libduckdb.dylib" ] && [ ! -f "libs/duckdb/libduckdb.so" ]; then
    echo "❌ 错误: 未找到 DuckDB 库文件"
    echo "请确保 libs/duckdb/ 目录下有相应的库文件"
    exit 1
fi

echo "✅ DuckDB 库文件检查通过"

# 清理之前的构建
echo "🧹 清理之前的构建..."
cjpm clean

# 构建所有模块
echo "🔨 构建所有模块..."
cjpm build

echo "✅ 构建完成！"

# 运行基础示例测试
echo "🧪 运行基础示例测试..."
if cjpm run --package basic-usage; then
    echo "✅ 基础示例运行成功！"
else
    echo "⚠️  基础示例运行失败，但构建已完成"
fi

echo "🎉 DuckDB-CJ 项目构建完成！"
